
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<HTML>

<HEAD>
   <TITLE>cmprss_c</TITLE>
</HEAD>

<BODY style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<A name="TOP"></A>

<table style="text-align: left; margin-left: auto; margin-right: auto; width: 800px;"
 border="0" cellpadding="5" cellspacing="2">
  <tbody>
    <tr>
      <td style="background-color: rgb(153, 153, 153); vertical-align: middle; text-align: center;">
      <div align="right"> 
      <small><small><a href="index.html">Index Page</a></small></small>
      </div>
      <b>cmprss_c</b> </td>
    </tr>

    <tr>
      <td style="vertical-align: top;">

<small><div align="center">
<A HREF="index.html#A">A</A>&nbsp;
<A HREF="index.html#B">B</A>&nbsp;
<A HREF="index.html#C">C</A>&nbsp;
<A HREF="index.html#D">D</A>&nbsp;
<A HREF="index.html#E">E</A>&nbsp;
<A HREF="index.html#F">F</A>&nbsp;
<A HREF="index.html#G">G</A>&nbsp;
<A HREF="index.html#H">H</A>&nbsp;
<A HREF="index.html#I">I</A>&nbsp;
<A HREF="index.html#J">J</A>&nbsp;
<A HREF="index.html#K">K</A>&nbsp;
<A HREF="index.html#L">L</A>&nbsp;
<A HREF="index.html#M">M</A>&nbsp;
<A HREF="index.html#N">N</A>&nbsp;
<A HREF="index.html#O">O</A>&nbsp;
<A HREF="index.html#P">P</A>&nbsp;
<A HREF="index.html#Q">Q</A>&nbsp;
<A HREF="index.html#R">R</A>&nbsp;
<A HREF="index.html#S">S</A>&nbsp;
<A HREF="index.html#T">T</A>&nbsp;
<A HREF="index.html#U">U</A>&nbsp;
<A HREF="index.html#V">V</A>&nbsp;
<A HREF="index.html#W">W</A>&nbsp;
<A HREF="index.html#X">X</A>&nbsp;
</div></small>
       <br>
       <table style="text-align: left; width: 60%; margin-left: auto; margin-right: auto;"
       border="0" cellspacing="2" cellpadding="2">
        <tbody>
          <tr>
            <td style="width: 50%; text-align: center;">
            <small>
              <a href="#Procedure">Procedure<br></a>
              <a href="#Abstract">Abstract<br></a>
              <a href="#Required_Reading">Required_Reading<br></a>
              <a href="#Keywords">Keywords<br></a>
              <a href="#Brief_I/O">Brief_I/O<br></a>
              <a href="#Detailed_Input">Detailed_Input<br></a>

              </small>
              </td>
              <td style="vertical-align: top; width: 50%; text-align: center;">
              <small>               <a href="#Detailed_Output">Detailed_Output<br></a>
              <a href="#Parameters">Parameters<br></a>
              <a href="#Exceptions">Exceptions<br></a>
              <a href="#Files">Files<br></a>
              <a href="#Particulars">Particulars<br></a>
              <a href="#Examples">Examples<br></a>

              </small>
              </td>
              <td style="vertical-align: top; width: 50%; text-align: center;">
              <small>               <a href="#Restrictions">Restrictions<br></a>
              <a href="#Literature_References">Literature_References<br></a>
              <a href="#Author_and_Institution">Author_and_Institution<br></a>
              <a href="#Version">Version<br></a>
              <a href="#Index_Entries">Index_Entries<br></a>
             </small>
            </td>
          </tr>
        </tbody>
</table>

<h4><a name="Procedure">Procedure</a></h4>
<PRE>
   void cmprss_c ( SpiceChar          delim,
                   SpiceInt           n,
                   ConstSpiceChar   * input,
                   SpiceInt           lenout,
                   SpiceChar        * output  ) 

</PRE>
<h4><a name="Abstract">Abstract</a></h4>
<PRE>
 
    Compress a character string by removing occurrences of 
    more than N consecutive occurrences of a specified 
    character. 
 </PRE>
<h4><a name="Required_Reading">Required_Reading</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Keywords">Keywords</a></h4>
<PRE>
 
    ASCII,  CHARACTER,  STRING 
 

</PRE>
<h4><a name="Brief_I/O">Brief_I/O</a></h4>
<PRE>
 
    VARIABLE  I/O  DESCRIPTION 
    --------  ---  -------------------------------------------------- 
    delim      I   Delimiter to be compressed. 
    n          I   Maximum consecutive occurrences of delim. 
    input      I   Input string. 
    lenout     I   Available space in output string.
    output     O   Compressed string. 
 </PRE>
<h4><a name="Detailed_Input">Detailed_Input</a></h4>
<PRE>
 
    delim       is the delimiter to be compressed out of the string. 
                This may be any ASCII character. 
 
    n           is the maximum number of consecutive occurrences 
                of delim that will be allowed to remain in the 
                output string. 
 
    input       is the input string. 
    
    lenout      is the available space in the output string, counting
                the terminating null.  lenout is typically the 
                declared length of the output string.
 </PRE>
<h4><a name="Detailed_Output">Detailed_Output</a></h4>
<PRE>
 
    output      is the output string. This is the input string with all 
                occurrences of more than N consecutive delimiters 
                removed.  A null terminator will follow the last 
                character of the string resulting from the compression.
 
                If output is not large enough to hold the compressed 
                string, it is truncated on the right.  The output string
                will always be null-terminated.
                
                output may overwrite input. 
 </PRE>
<h4><a name="Parameters">Parameters</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Exceptions">Exceptions</a></h4>
<PRE>
 
    1) If either input or output is a null pointer, the error 
       SPICE(NULLPOINTER) will be signaled.
       
    2) If lenout is less than 1, the error SPICE(STRINGTOOSHORT) will
       be signaled. 
 
    3) If the output string is too short to contain the result of 
       compressing the input string, the result is truncated on the 
       right.  The output string is still null-terminated.
       </PRE>
<h4><a name="Files">Files</a></h4>
<PRE>
 
    None. 
 </PRE>
<h4><a name="Particulars">Particulars</a></h4>
<PRE>
 
    Occurrences of more than n consecutive delimiters are removed 
    from the input string as it is copied to the output string. 
    If the output string is not large enough to hold the compressed 
    string, it is truncated on the right. 
 </PRE>
<h4><a name="Examples">Examples</a></h4>
<PRE>
 
    Let DELIM = &quot;.&quot;, and N = 2. Then 
 
       &quot;ABC...DE.F...&quot;,           becomes   &quot;ABC..DE.F..&quot; 
       &quot; ...........&quot;                       &quot; ..&quot; 
       &quot;.. ..AB....CD&quot;                      &quot;.. ..AB..CD&quot; 
 
    Let DELIM = &quot; &quot;, and N = 0. Then 
 
       &quot; DISK:[USER.  SUB  ]&quot;     becomes   &quot;DISK:[USER.SUB]&quot; 
 </PRE>
<h4><a name="Restrictions">Restrictions</a></h4>
<PRE>
 
    None. 
 </PRE>
<h4><a name="Literature_References">Literature_References</a></h4>
<PRE>
 
    None. 
 </PRE>
<h4><a name="Author_and_Institution">Author_and_Institution</a></h4>
<PRE>
 
   W.L. Taber      (JPL) 
   I.M. Underwood  (JPL) 
   N.J. Bachman    (JPL)
 </PRE>
<h4><a name="Version">Version</a></h4>
<PRE>
 
   -CSPICE Version 1.0.0, 20-AUG-1999 (WLT) (IMU) (NJB)
</PRE>
<h4><a name="Index_Entries">Index_Entries</a></h4>
<PRE>
 
   compress a character_string 
 </PRE>
<h4>Link to routine cmprss_c source file <a href='../../../src/cspice/cmprss_c.c'>cmprss_c.c</a> </h4>

      </td>
    </tr>
  </tbody>
</table>

   <pre>Wed Jun  9 13:05:20 2010</pre>

</body>
</html>

